package com.aliyun.messagemgt.dto.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.util.Date;
import java.util.List;

/**
 * @Author: Xiaohang Lv
 * @Date: 2019/5/7 15:51
 */
public class MyMsgQueryDTO extends PageQuery {
    private String msgSourceName;

    private String pushChannelName;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date timeBegin;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date timeEnd;

    private String timeAscOrDesc;

    private List<Integer> pushChannelTypeIds;

    private List<Integer> readStates;

    public String getMsgSourceName() {
        return msgSourceName;
    }

    public MyMsgQueryDTO setMsgSourceName(String msgSourceName) {
        this.msgSourceName = msgSourceName;
        return this;
    }

    public String getPushChannelName() {
        return pushChannelName;
    }

    public MyMsgQueryDTO setPushChannelName(String pushChannelName) {
        this.pushChannelName = pushChannelName;
        return this;
    }

    public Date getTimeBegin() {
        return timeBegin;
    }

    public MyMsgQueryDTO setTimeBegin(Date timeBegin) {
        this.timeBegin = timeBegin;
        return this;
    }

    public Date getTimeEnd() {
        return timeEnd;
    }

    public MyMsgQueryDTO setTimeEnd(Date timeEnd) {
        this.timeEnd = timeEnd;
        return this;
    }

    public String getTimeAscOrDesc() {
        return timeAscOrDesc;
    }

    public MyMsgQueryDTO setTimeAscOrDesc(String timeAscOrDesc) {
        this.timeAscOrDesc = timeAscOrDesc;
        return this;
    }

    public List<Integer> getPushChannelTypeIds() {
        return pushChannelTypeIds;
    }

    public MyMsgQueryDTO setPushChannelTypeIds(List<Integer> pushChannelTypeIds) {
        this.pushChannelTypeIds = pushChannelTypeIds;
        return this;
    }

    public List<Integer> getReadStates() {
        return readStates;
    }

    public MyMsgQueryDTO setReadStates(List<Integer> readStates) {
        this.readStates = readStates;
        return this;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}
